Op deze pagina vind je een demonstratie van een statistische techniek aan de hand van een voorbeeld.

Meer informatie over hoe je deze pagina kan gebruiken vind je in deze handleiding.

De analyse gebeurt met behulp van R en RStudio. Een inleiding tot deze software vind je hier.



1 Doel

Het is een goed idee om een dataset te verkennen, vooraleer je er allerlei statistische technieken op loslaat. R biedt een heel uitgebreid gamma aan functies om dat te doen.

De output van die functies dient vaak niet om te publiceren. Het is vooral de bedoeling om zelf meer inzicht te krijgen in de variabelen in je dataset.

Hier focussen we op de beschrijving en visuele voorstelling van één continue variabele.



2 De dataset

De dataset Caschool bevat gegevens van 13 variabelen geobserveerd bij 420 scholen uit Californië.

Deze dataset kan je inladen met onderstaande code. De data kan je best meteen in een object Caschool onderbrengen zodat je die later makkelijk opnieuw kan oproepen.

Caschool <- read.csv("https://statlas.ugent.be/datasets/Caschool2.csv") 


Het object Caschool is een dataframe dat alle data voor alle variabelen bevat.

class(Caschool) # Denk eraan dat R hoofdlettergevoelig is!
[1] "data.frame"


Met str() krijg je een opsomming van alle variabelen in de dataset. Je vindt er ook telkens bij om welk datatype het gaat. Afhankelijk van het datatype zal je sommige functies wel of juist niet kunnen gebruiken om je data te verkennen. Het heeft bijvoorbeeld geen zin om een gemiddelde te berekenen van een variabele van type chr.

str(Caschool) 
'data.frame':   420 obs. of  13 variables:
 $ district : chr  "Sunol Glen Unified" "Manzanita Elementary" "Thermalito Union Elementary" "Golden Feather Union Elementary" ...
 $ grspan   : chr  "KK-08" "KK-08" "KK-08" "KK-08" ...
 $ enrltot  : int  195 240 1550 243 1335 137 195 888 379 2247 ...
 $ teachers : num  10.9 11.1 82.9 14 71.5 ...
 $ computer : int  67 101 169 85 171 25 28 66 35 0 ...
 $ testscr  : num  691 661 644 648 641 ...
 $ compstu  : num  0.344 0.421 0.109 0.35 0.128 ...
 $ expnstu  : num  6385 5099 5502 7102 5236 ...
 $ str      : num  17.9 21.5 18.7 17.4 18.7 ...
 $ logavginc: num  1.356 0.992 0.953 0.953 0.958 ...
 $ elpct    : num  0 4.58 30 0 13.86 ...
 $ readscr  : num  692 660 636 652 642 ...
 $ mathscr  : num  690 662 651 644 640 ...


In de output van str() zie je inderdaad dat er 13 variabelen zijn met telkens 420 observaties (hier dus: scholen).



3 Eén variabele selecteren

Met het symbool $ kan je één variabele uit een dataset selecteren. Hier selecteren we teachers, dat wil zeggen het aantal leerkrachten in een school.

Caschool$teachers 


Het is vaak handig om deze variabele in een nieuw object te steken. Dit is vooral de moeite waard als je nog heel vaak naar deze variabele zal moeten verwijzen. Het kan ook interessant zijn als de oorspronkelijke variabele een moeilijk te begrijpen naam heeft, zoals in dit dataframe bijvoorbeeld expnstu.

leraren <- Caschool$teachers


Vanaf nu kan je leraren typen om naar deze variabele te verwijzen in plaats van Caschool$teachers.


Met class() kan je achterhalen om welk type variabele het gaat.

class(leraren)
[1] "numeric"



4 Een continue variabele verkennen

Met de functie summary() krijg je al heel wat informatie over de variabele.

summary(leraren)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
   4.85   19.66   48.56  129.07  146.35 1429.00 


Vaak is het wel nodig of interessant om deze informatie afzonderlijk te laten berekenen, bijvoorbeeld om er weer verdere berekeningen mee uit te voeren. Hieronder zie je hoe dat kan voor enkele centrummaten en spreidingsmaten. Daarnaast vind je ook een tabblad over hoe je een continue variabele visueel kan voorstellen.


Centrummaten


Centrummaten geven je een centrale waarde waarrond de waarden van een variabele liggen. In R bestaan functies om zulke centrummaten makkelijk te berekenen.


Gemiddelde

mean(leraren)
[1] 129.0674


Mediaan

median(leraren)
[1] 48.565


Gemiddelde en mediaan liggen opvallend ver uiteen. Dat is al een interessante vaststelling die je iets kan leren. (Kijk ook onder tabblad ‘Visueel voorstellen’)



Spreidingsmaten


Spreidingsmaten leren je hoe ver de waarden van een variabele uit elkaar liggen. Ook hiervoor bestaan uiteraard functies in R.


Variantie

var(leraren)
[1] 35311.18


Standaarddeviatie

sd(leraren) # De standaarddeviatie is de vierkantswortel van de variantie.
[1] 187.9127



Visueel voorstellen


Boxplots kunnen in één oogopslag een idee geven van de verdeling van de variabele. Meer uitleg vind je hier.


boxplot(leraren)


De onder- en bovengrens van de ‘doos’ stemmen overeen met respectievelijk het eerste en derde kwartiel. Die waarden kwam je eerder al tegen bij de output van de functie summary().

Het valt op dat de verdeling van leraren behoorlijk scheef is. Veruit de meeste scholen tellen (veel) minder dan ongeveer 200 leerkrachten. Dat verklaart waarom de mediaan gelijk is aan 48.56. Anderzijds zijn er wel een aantal heel hoge uitschieters. Dit zijn scholen met heel veel leerkrachten, tot zelfs 1429. Deze (relatief weinige) scholen trekken het gemiddelde (129.07) omhoog, wat verklaart waarom het zoveel hoger is dan de mediaan.


Een alternatieve manier van visualiseren is via een histogram.

hist(leraren)


Zie je het verband tussen de boxplot en het histogram? Kan je er dezelfde informatie uit afleiden als bij de boxplot?